// @unocss-include

/**
 * hidden: 路由隐藏
 *
 * overspread: 铺满页面
 */

export const commonRouter = [
  {
    path: '/',
    name: '/',
    component: () => import('@/views/layout/index.vue'),
    redirect: '/home',
    children: [
      {
        path: '/home',
        name: 'home',
        meta: {
          title: '首页',
          icon: 'i-mdi-monitor-dashboard',
        },
        redirect: '/home/subHome1',
        children: [
          {
            path: '/home/subHome1',
            name: 'homeSubHome1',
            meta: {
              title: '子首页',
              icon: 'i-mdi-menu',
            },
            redirect: '/home/subHome1/subHome',
            children: [
              {
                path: '/home/subHome1/subHome',
                name: 'homeSubHome1SubHome',
                component: () => import('@/views/home/index.vue'),
                meta: {
                  title: '子子首页',
                },
              },
            ],
          },
          {
            path: '/home/subHome2',
            name: 'homeSubHome2',
            meta: {
              title: '子首页2',
              icon: 'i-mdi-menu',
            },
            redirect: '/home/subHome2/subHome',
            children: [
              {
                path: '/home/subHome2/subHome',
                name: 'homeSubHome2SubHome',
                meta: {
                  title: '子子首页',
                  icon: 'i-mdi-menu',
                },
                redirect: '/home/subHome2/subHome/subHome',
                children: [
                  {
                    path: '/home/subHome2/subHome/subHome',
                    name: 'homeSubHome2SubHomeSubHome',
                    component: () => import('@/views/home2/index.vue'),
                    meta: {
                      title: '子子子首页',
                    },
                  },
                ],
              },
            ],
          },
          {
            path: '/home/subHome3',
            name: 'homeSubHome3',
            component: () => import('@/views/home3/index.vue'),
            meta: {
              title: '子首页3',
              icon: 'i-mdi-menu',
            },
          },
        ],
      },
      {
        path: '/handAt',
        name: 'handAt',
        meta: {
          title: '小试牛刀',
          icon: 'i-ri-flask-line',
        },
        redirect: '/handAt/table',
        children: [
          {
            path: '/handAt/table',
            name: 'handAtTable',
            meta: {
              title: '表格',
              icon: 'i-mdi-table-large',
            },
            redirect: '/handAt/table/simple',
            children: [
              {
                path: '/handAt/table/simple',
                name: 'handAtTableSimple',
                meta: {
                  title: '简单',
                },
                component: () => import('@/views/handAt/table/simple.vue'),
              },
              {
                path: '/handAt/table/medium',
                name: 'handAtTableMedium',
                component: () => import('@/views/handAt/table/medium.vue'),
                meta: {
                  title: '中等',
                  overspread: true,
                },
              },
              {
                path: '/handAt/table/hempClaw',
                name: 'handAtTableHempClaw',
                component: () => import('@/views/handAt/table/hemp-claw.vue'),
                meta: {
                  title: '麻爪',
                  overspread: true,
                },
              },
            ],
          },
          {
            path: '/handAt/tree',
            name: 'handAtTree',
            meta: {
              title: '树',
              icon: 'i-mdi-menu',
            },
            redirect: '/handAt/tree/simple',
            children: [
              {
                path: '/handAt/tree/simple',
                name: 'handAtTreeSimple',
                meta: {
                  title: '简单',
                },
                component: () => import('@/views/handAt/tree/simple.vue'),
              },
            ],
          },
        ],
      },
      {
        path: '/interestingComponents',
        name: 'interestingComponents',
        meta: {
          title: '有趣组件',
          icon: 'i-mdi-tab',
        },
        redirect: '/interestingComponents/waterfall',
        children: [
          {
            path: '/interestingComponents/waterfall',
            name: 'interestingComponentsWaterfall',
            component: () => import('@/views/interestingComponents/waterfall/index.vue'),
            meta: {
              title: '虚拟瀑布',
              icon: 'i-ri-layout-masonry-line',
            },
          },
          {
            path: '/interestingComponents/carousel3D',
            name: 'interestingComponentsCarousel3D',
            component: () => import('@/views/interestingComponents/carousel3d/index.vue'),
            meta: {
              title: '3D轮播图',
              icon: 'i-ri-dropdown-list',
              overspread: true,
            },
          },
          {
            path: '/interestingComponents/scrollbar',
            name: 'interestingComponentsScrollbar',
            component: () => import('@/views/interestingComponents/scrollbar/index.vue'),
            meta: {
              title: '滚动条',
              icon: 'i-ri-expand-up-down-line',
              overspread: true,
            },
          },
        ],
      },
      {
        path: '/study',
        name: 'study',
        meta: {
          title: '学习',
          icon: 'i-ri-book-3-line',
        },
        redirect: '/study/canvas',
        children: [
          {
            path: '/study/canvas',
            name: 'studyCanvas',
            component: () => import('@/views/study/canvas/index.vue'),
            meta: {
              title: 'Canvas',
              icon: 'i-ri-pencil-ruler-2-line',
            },
          },
          {
            path: '/study/three',
            name: 'studyThree',
            meta: {
              title: 'Three',
              icon: 'i-simple-icons-threedotjs',
            },
            redirect: '/study/three/base',
            children: [
              {
                path: '/study/three/base',
                name: 'studyThreeBase',
                meta: {
                  title: '基础',
                  icon: 'i-mdi-menu',
                },
                redirect: '/study/three/base/cube',
                children: [
                  {
                    path: '/study/three/base/cube',
                    name: 'studyThreeBaseCube',
                    component: () => import('@/views/study/three/base/cube.vue'),
                    meta: {
                      title: '立方体',
                      icon: 'i-ion-cube-outline',
                      overspread: true,
                    },
                  },
                  {
                    path: '/study/three/base/line',
                    name: 'studyThreeBaseLine',
                    component: () => import('@/views/study/three/base/line.vue'),
                    meta: {
                      title: '线',
                      icon: 'i-ion-trending-up-outline',
                      overspread: true,
                    },
                  },
                  {
                    path: '/study/three/base/geometry',
                    name: 'studyThreeBaseGeometry',
                    component: () => import('@/views/study/three/base/geometry.vue'),
                    meta: {
                      title: '几何体',
                      icon: 'i-ion-extension-puzzle-outline',
                      overspread: true,
                    },
                  },
                  {
                    path: '/study/three/base/import',
                    name: 'studyThreeBaseImport',
                    component: () => import('@/views/study/three/base/import.vue'),
                    meta: {
                      title: '导入模型',
                      icon: 'i-ion-trending-down-outline',
                      overspread: true,
                    },
                  },
                  {
                    path: '/study/three/base/pickup',
                    name: 'studyThreeBasePickup',
                    component: () => import('@/views/study/three/base/pickup.vue'),
                    meta: {
                      title: '射线拾取模型',
                      icon: 'i-ri-arrow-turn-forward-line',
                      overspread: true,
                    },
                  },
                  {
                    path: '/study/three/base/sprite',
                    name: 'studyThreeBaseSprite',
                    component: () => import('@/views/study/three/base/sprite.vue'),
                    meta: {
                      title: '精灵',
                      icon: 'i-ri-snowflake-line',
                      overspread: true,
                    },
                  },
                  {
                    path: '/study/three/base/effect-composer',
                    name: 'studyThreeBaseEffectComposer',
                    component: () => import('@/views/study/three/base/effect-composer.vue'),
                    meta: {
                      title: '后期处理',
                      icon: 'i-ri-palette-line',
                      overspread: true,
                    },
                  },
                  {
                    path: '/study/three/base/label',
                    name: 'studyThreeBaseLabel',
                    component: () => import('@/views/study/three/base/label.vue'),
                    meta: {
                      title: '标签',
                      icon: 'i-ri-price-tag-3-line',
                      overspread: true,
                    },
                  },
                ],
              },
              {
                path: '/study/three/tweenjs',
                name: 'studyThreeTweenjs',
                meta: {
                  title: 'tweenjs',
                  icon: 'i-mdi-menu',
                },
                redirect: '/study/three/tweenjs/cameraMotionSimple',
                children: [
                  {
                    path: '/study/three/tweenjs/cameraMotionSimple',
                    name: 'studyThreeTweenjsCameraMotion',
                    component: () => import('@/views/study/three/tweenjs/camera-motion-simple.vue'),
                    meta: {
                      title: '相机运动(简单)',
                      icon: 'i-ri-camera-line',
                      overspread: true,
                    },
                  },
                  {
                    path: '/study/three/tweenjs/cameraMotionSecondary',
                    name: 'studyThreeTweenjsCameraSecondary',
                    component: () => import('@/views/study/three/tweenjs/camera-motion-secondary.vue'),
                    meta: {
                      title: '相机运动(中等)',
                      icon: 'i-ri-camera-line',
                      overspread: true,
                    },
                  },
                ],
              },
              {
                path: '/study/three/map',
                name: 'studyThreeMap',
                meta: {
                  title: '地图',
                  icon: 'i-ri-earth-line',
                },
                component: () => import('@/views/study/three/map/index.vue'),
              },
            ],
          },
          {
            path: '/study/map',
            name: 'studyMap',
            meta: {
              title: '地图',
              icon: 'i-ri-earth-line',
            },
            redirect: '/study/map/cesium',
            children: [
              {
                path: '/study/map/cesium',
                name: 'studyMapCesium',
                meta: {
                  title: 'cesium',
                  icon: 'i-mdi-menu',
                },
                redirect: '/study/map/cesium/base',
                children: [
                  {
                    path: '/study/map/cesium/base',
                    name: 'studyMapCesiumBase',
                    component: () => import('@/views/study/map/cesium/base.vue'),
                    meta: {
                      title: '基本',
                      overspread: true,
                    },
                  },
                ],
              },
            ],
          },
          {
            path: '/study/css',
            name: 'studyCss',
            meta: {
              title: 'css',
              icon: 'i-ri-puzzle-line',
            },
            redirect: '/study/css/view-transition',
            children: [
              {
                path: '/study/css/view-transition',
                name: 'studyCssViewTransition',
                component: () => import('@/views/study/css/view-transition.vue'),
                meta: {
                  title: 'view-transition',
                },
              },
            ],
          },
        ],
      },
    ],
  },
  {
    path: '/:pathMatch(.*)*',
    name: '404',
    component: () => import('@/views/notFound/404.vue'),
  },
]
